# -*- coding: utf-8 -*-
"""
@Author: 王少杰
@Date: 2025/8/28
@Time: 12:01
@FileName: base_page.py
@描述:定义一个BasePage类，用来封装selenium的基础方法
"""
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
class BasePage:
    # 定义一个构造方法，用来初始化driver
    def __init__(self, driver):
        self.driver = driver
    # 定义一个方法，用来实现使用显式等待定位元素
    def find_ele_explicitly(self, locator, timeout=10, ):
        """
        :param locator: 要接收的是一个元组，元组中的第一个元素是 元素定位的方法，第二个元素是 定位表达式
        :param timeout: 超时时间
        :return:返回定位的元素
        """
        # 实例化一个WebDriverWait类的对象
        wait_obj = WebDriverWait(self.driver, timeout)
        # 使用实例化的对象调用until方法定位元素
        return wait_obj.until(EC.presence_of_element_located(locator))
